System and method for grouping related photographs

ABSTRACT

A computer-implemented method, computer program product, and computing system is provided for interacting with images having similar content. In an embodiment, a method may include identifying a plurality of photographs as including a common characteristic. The method may also include generating a flipbook media item including the plurality of photographs. The method may further include associating one or more interactive control features with the flipbook media item.

TECHNICAL FIELD

This disclosure relates to digital photographs and, more particularly,to interacting with groups of photographs.

BACKGROUND

The use of digital photography has become an important part of dailylife for many individuals. Many cellular phones now include cameras andmany social networking application facilitate the sharing of digitalphotos among many individuals and social groups. Not only has digitalphotography increased the case with which photos may be shared byindividuals, but the combination of digital cameras being incorporatedinto common every-day items, such as cellular phones, and the lowrelative cost of digital photography, due at least in part to theelimination of film and developing costs, have increased the number ofpictures that people take. People may often take pictures of events,items, settings, or the like, that they likely would not have if theyhad to pay for film and developing of the pictures. Similarly, peoplemay often take many pictures of the same scene or subject with theintent of picking the best picture at a later date.

SUMMARY OF DISCLOSURE

According to an implementation, a method may include identifying aplurality of photographs as including a common characteristic. Themethod may also include generating a flipbook media item including theplurality of photographs. The method may also include associating arepresentative photograph with a visual indicator of the flipbook mediaitem. The method may further include associating one or more interactivecontrol features with the flipbook media item for manually navigatingthe plurality of photographs.

According to another implementation, a method may include identifying aplurality of photographs as including a common characteristic. Themethod may also include generating a flipbook media item including theplurality of photographs. The method may further include associating oneor more interactive control features with the flipbook media item.

One or more of the following features may be included. The commoncharacteristic may include inclusion of the plurality of photographs ina photo burst. The common characteristic may include a visual similaritybetween the plurality of photographs.

Generating the flipbook media item may include associating the pluralityof photographs based on one of a time-wise sequence and a spatialalignment sequence. Generating the flipbook media item may includeassociating one of the plurality of photographs as a representativephotograph displayed in a visual indicator of the flipbook media item.The method may also include receiving a user indication of a photograph,and associating the one of the plurality of photographs as therepresentative photograph based on the user indication. The one or moreinteractive control features may include controls for one or more ofautomatically and manually navigating the plurality of photographsincluded within the flipbook media item.

The method may further including aligning at least a portion of a firstphotograph of the plurality of photographs with at least a portion of anadjacent photograph of the plurality of photographs during navigationbetween the first photograph and the adjacent photograph within theflipbook media item. Aligning at least a portion of the first photographwith at least a portion of an adjacent photograph may include imagestabilizing the adjacent photograph with respect to the firstphotograph. Aligning at least a portion of the first photograph with atleast a portion of the adjacent photograph may include cropping one ormore of the first photograph and the second photograph during navigationbetween the first photograph and the adjacent photograph within theflipbook media item.

According to another implementation, a computing system may include atleast one processor. The at least one processor may be configured toidentify a plurality of photographs as including a commoncharacteristic. The at least one processor may also be configured togenerate a flipbook media item including the plurality of photographs.The at least one processor may further be configured to associate one ormore interactive control features with the flipbook media item.

One or more of the following features may be included. The commoncharacteristic may include inclusion of the plurality of photographs ina photo burst. The common characteristic may include a visual similaritybetween the plurality of photographs.

The at least one processor configured to generate the flipbook mediaitem may be configured to associate the plurality of photographs basedon one of a time-wise sequence and a spatial alignment sequence. The atleast one processor configured to generate the flipbook media item maybe configured to associate one of the plurality of photographs as arepresentative photograph displayed in a visual indicator of theflipbook media item. The at least one processor may be furtherconfigured to receive a user indication of a photograph, and toassociate the one of the plurality of photographs as the representativephotograph based on the user indication. The one or more interactivecontrol features may include controls for one or more of automaticallyand manually navigating the plurality of photographs included within theflipbook media item.

The at least one processor may be further configured to align at least aportion of a first photograph of the plurality of photographs with atleast a portion of an adjacent photograph of the plurality ofphotographs during navigation between the first photograph and theadjacent photograph within the flipbook media item. The at least oneprocessor configured to align at least a portion of the first photographwith at least a portion of an adjacent photograph may be configured toimage stabilize the adjacent photograph with respect to the firstphotograph. The at least one processor configured to align at least aportion of the first photograph with at least a portion of the adjacentphotograph may be configured to crop one or more of the first photographand the second photograph during navigation between the first photographand the adjacent photograph within the flipbook media item.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features andadvantages will become apparent from the description, the drawings, andthe claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagrammatic view of a distributed computing networkincluding a computing device that executes flipbook process according toan embodiment of the present disclosure;

FIG. 2 is a flowchart of the flipbook process of FIG. 1, according to anembodiment of the present disclosure;

FIG. 3 is diagrammatic representation of a plurality of digitalphotographs that may be utilized in connection with the flipbook processof FIG. 1, according to an embodiment of the present disclosure;

FIG. 4 is a diagrammatic representation of a user interface that may begenerated, at least in part, by the flipbook process of FIG. 1,according to an embodiment of the present disclosure

FIG. 5 is a diagrammatic representation of a user interface that may begenerated, at least in part, by the flipbook process of FIG. 1,according to an embodiment, of the present disclosure.

FIG. 6 is a diagrammatic view of the computing device of FIG. 1,according to an embodiment of the present disclosure.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

According to some example embodiments, a user may have a group ofphotographs (e.g., digital images) that may include varioussimilarities. For example, each of the photographs in the group maydepict a common or related scene, subject or event. Such a group ofphotographs may, for example, result from a photo burst (e.g., multiplephotographs being taken within a relatively short period of time) or anattempt to document a scene or event, capture “the right moment,” or toensure that a useable photograph or photograph of desirable quality(e.g., in focus, with a person in the photograph smiling or notblinking, etc.). Groups of photographs having some degree of similaritymay occur in various other ways. Such a group of photographs may includea relatively large degree of similarity. In some embodiments, thesimilarities between the individual photographs in the group may makeviewing the entire group of photographs uninteresting, overwhelming, orchallenging, for example because the differences between the photographsmay be less apparent than the similarities. Therefore, it may bedifficult for some viewers to appreciate the differences in content,information, or artistic or aesthetic value provided by each of theindividual photographs, or may simply be uninteresting for some viewersto consume each of the individual photographs.

In some example embodiments, the individual photographs may beidentified as belonging to a group including some common characteristic(such as a similarity in content, belonging to a common photo burst,etc.). A flipbook media item may be generated based on the group ofphotographs. In some example embodiments the flipbook media item mayallow a viewer to interact with the group of photographs as a singlemedia item that may allow the viewer to navigate the individualphotographs of the group in a manner that may be convenient and mayallow the viewer to better appreciate the differences between thephotographs of the group and/or to better consume, evaluate, and/orappreciate individual photographs within the group without becomingoverwhelm or confused by the similarities that may exist between thephotographs of the group.

Referring to FIG. 1, there is shown flipbook process 10. For thefollowing discussion, it is intended to be understood that flipbookprocess 10 may be implemented in a variety of ways. For example,flipbook process 10 may be implemented as a server-side process, aclient-side process, or a server-side/client-side process.

For example, flipbook process 10 may be implemented as a purelyserver-side process via flipbook process 10 s. Alternatively, flipbookprocess 10 may be implemented as a purely client-side process via one ormore of client-side application 10 c 1, client-side application 10 c 2,client-side application 10 c 3, and client-side application 10 c 4.Alternatively still, flipbook process 10 may be implemented as aserver-side/client-side process via flipbook process 10 s in combinationwith one or more of client-side application 10 c 1, client-sideapplication 10 c 2, client-side application 10 c 3, and client-sideapplication 10 c 4. In such an example, at least a portion of thefunctionality of flipbook process 10 may be performed by flipbookprocess 10 s and at least a portion of the functionality of flipbookprocess 10 may be performed by one or more of client-side application 10c 1, 10 c 2, 10 c 3, and 10 c 3.

Accordingly, flipbook process 10 as used in this disclosure may includeany combination of flipbook process 10 s, client-side application 10 c1, client-side application 10 c 2, client-side application 10 c 3, andclient-side application 10 c 4.

Referring also to FIG. 2 and as will be discussed below in greaterdetail, flipbook process 10 may identify 100 a plurality of photographsas including a common characteristic. Flipbook process 10 may alsogenerate 102 a flipbook media item including the plurality ofphotographs. Flipbook process 10 may further associate 104 one or moreinteractive control features with the flipbook media item.

Flipbook process 10 s may be a server application and may reside on andmay be executed by computing device 12, which may be connected tonetwork 14 (e.g., the Internet or a local area network). Examples ofcomputing device 12 may include, but are not limited to: a personalcomputer, a server computer, a series of server computers, a minicomputer, a mainframe computer, or a dedicated network device.

The instruction sets and subroutines of flipbook process 10 s, which maybe stored on storage device 16 coupled to computing device 12, may beexecuted by one or more processors (not shown) and one or more memoryarchitectures (not shown) included within computing device 12. Examplesof storage device 16 may include but are not limited to: a hard diskdrive; a tape drive; an optical drive; a RAID device; an NAS device, aStorage Area Network, a random access memory (RAM); a read-only memory(ROM); and all forms of flash memory storage devices.

Network 14 may be connected to one or more secondary networks (e.g.,network 18), examples of which may include but are not limited to: alocal area network; a wide area network; or an intranet, for example.

Examples of client-side applications 10 c 1, 10 c 2, 10 c 3, 10 c 4 mayinclude but are not limited to a photo album, a web browser, a gameconsole user interface, a television user interface, or a specializedapplication (e.g., an application running on a mobile platform). Theinstruction sets and subroutines of client-side application 10 c 1, 10 c2, 10 c 3, 10 c 4, which may be stored on storage devices 20, 22, 24, 26(respectively) coupled to client electronic devices 28, 30, 32, 34(respectively), may be executed by one or more processors (not shown)and one or more memory architectures (not shown) incorporated intoclient electronic devices 28, 30, 32, 34 (respectively). Examples ofstorage devices 20, 22, 24, 26 may include but are not limited to: harddisk drives; tape drives; optical drives; RAID devices; random accessmemories (RAM); read-only memories (ROM), and all forms of flash memorystorage devices.

Examples of client electronic devices 28, 30, 32, 34 may include, butare not limited to, personal computer 28, laptop computer 30, mobilecomputing device 32, notebook computer 34, a netbook computer (notshown), a server computer (not shown), a gaming console (not shown), adata-enabled television console (not shown), and a dedicated networkdevice (not shown). Client electronic devices 28, 30, 32, 34 may eachexecute an operating system.

In one or more implementations in which flipbook process 10 may includea server-side process and/or a hybrid server-side/client-side process,users 36, 38, 40, 42 may access flipbook process 10 directly throughnetwork 14 or through secondary network 18. Further, flipbook process 10may be accessed through secondary network 18 via link line 44.

The various client electronic devices (e.g., client electronic devices28, 30, 32, 34) may be directly or indirectly coupled to network 14 (ornetwork 18). For example, personal computer 28 is shown directly coupledto network 14. Further, laptop computer 30 is shown wirelessly coupledto network 14 via wireless communication channel 46 established betweenlaptop computer 30 and wireless access point (WAP) 48. Similarly, mobilecomputing device 32 is shown wirelessly coupled to network 14 viawireless communication channel 50 established between mobile computingdevice 32 and cellular network/bridge 52, which is shown directlycoupled to network 14. WAP 48 may be, for example, an IEEE 802.11a,802.11b, 802.11g, 802.11n, Wi-Fi, and/or Bluetooth device that iscapable of establishing wireless communication channel 46 between laptopcomputer 30 and WAP 48. Additionally, personal computer 34 is showndirectly coupled to network 18 via a hardwired network connection.

As generally discussed above, flipbook process 10 may generally allow auser to manage and interact with groups of photographs (e.g., digitalimages). The groups of photographs may include photographs that includecommon characteristics, are near duplicates, or are otherwise similar toone another. The photographs in the group may include a commoncharacteristic or similarity that may make it difficult to discerndifferences between the photographs, may be overwhelming, and/or may beuninteresting to some users because of the similarities between thephotographs. However, the individual photographs in the group and/or theaggregate group of photographs itself may represent information,content, or artistic or aesthetic expression that may not necessarily befully captured by any single photograph in the group. According tovarious embodiments, flipbook process 10 may allow the group ofphotographs to be managed and interacted with in a manner that may allowthe information, content, or expression embodied in the group ofphotographs to retained and/or realized or appreciated that may berelatively easier than managing the group of photographs as individualphotographs and may result in less confusion or perceptional overloadfor the user.

According to an embodiment, flipbook process 10 may identify 100 aplurality of photographs as including a common characteristic. Flipbookprocess 10 may also generate 102 a flipbook media item including theplurality of photographs. Flipbook process 10 may further associate 104one or more interactive control features with the flipbook media item.

For example, and referring also to FIG. 3, flipbook process 10 mayidentify 100 a plurality of photographs (e.g., photographs 150, 152,154, 156, 158, 160) as including a common characteristic. For example,and as generally discussed above, in some instances a user (e.g., user40 of mobile computing device 32) may take more than one photograph of agiven scene, subject, or event, as generally depicted in examplephotographs 150-160 in FIG. 3. For example, user 40 may be attempting tocapture a moment in a group picture in which all of the members of thegroup picture are smiling and/or not blinking. Similarly, user 40 maytake multiple pictures of an event, such as a child riding a bicycle, inan attempt to capture details of the moment or to get at least onephotograph that is in focus and desirably composed. In a furtherexample, user 40 may take multiple photographs of a scene that may belarger than the field of view of the camera (e.g., which may include acamera and/or camera functionality incorporated into mobile computingdevice 32) in an attempt to capture a panoramic view of the scene.Various additional/alternative situations will be understood in whichuser 40 take multiple picture that may include a common characteristic.According to an embodiment, flipbook process 10 may identify 100 theplurality of photographs as including a common characteristic.

In an example embodiment, the common characteristic by which flipbookprocess 10 may identify the plurality of photographs may includeinclusion of the plurality of photographs in a photo burst. That is, thecommon characteristic of the group of photographs may indicate that thepictures were taken by the same device and within a relatively shortperiod of time, e.g., which may indicate that the photographs were takenas a burst, and/or otherwise taken in a manner to capture a given scene,subject, or the like. In one such example, each of the photographs mayinclude an associated device identifier of the camera, cellular phone,etc., that was used to take the picture. Each of the photographs mayalso include a time stamp, indicating a time at which each picture wastaken. For example, the device identifier and/or the time stamp may beincluded as metadata associated with each of the photographs. In such anembodiment, a group of pictures taken by the same camera within a thirtysecond (for example) time period may indicate a burst of photographsthat may have been taken to capture the same, or similar, subject,scene, or event. The time period during which the plurality ofphotographs were taken may vary depending upon, for example, defaultsettings and/or user preference. Further, in some embodiments, the timeperiod may define a time period during which the entire group ofphotographs were taken. In another embodiment, the time period maydefine a maximum time period between any two consecutive photographs inorder for the photographs to be identified 100 as including a commoncharacteristic.

In an embodiment, the common characteristic may include a visualsimilarity between the plurality of photographs. For example, flipbookprocess 10 may identify 100 the plurality of photographs as including acommon characteristic which may include a visual similarity between theplurality of photographs, in which identifying the visual similarity mayinclude executing image processing and/or analysis on the plurality ofphotographs. For example, image analysis may identify the group ofpictures as including a common characteristic based on a comparison ofcolor and/or texture histograms associated with each of the photographs.In some embodiments, image analysis of the plurality of photographs mayinclude geometric analysis (e.g., identification of transformationsbetween the images). In some embodiments, image analysis of theplurality of photographs may include facial recognition of one or morepeople included within the plurality of photographs (e.g., which mayidentify one or more common subjects of the photographs). In an exampleembodiment, image analysis of the plurality of photographs may includeanalyzing spatial alignment of features included within each of thephotographs (e.g., which may indicate an at least partial overlap ofcontents of each photograph). In some embodiments, analyzing spatialalignment of features included within each of the plurality ofphotographs may include a similar approach used in image stabilizationtechniques (e.g., such as may be used to stabilize video media). Othermethods may be utilized for identifying 100 the group of photographs asincluding a common characteristic (e.g., based on tags associated withthe plurality of photographs, etc.).

Flipbook process 10 may also generate 102 a flipbook media itemincluding the plurality of photographs. In an embodiment, the flipbookmedia item may include a first-class item that may, for example, have anidentity distinct from the photographs that it includes. As such, theflipbook media item may be a self-contained item that includes the groupof photographs and information about the photographs. In someembodiments, the flipbook media item (which includes the group ofphotographs) may be represented by a single icon, etc., for example,within a photo album (e.g., which may be generated by a media managementapplication, that may allow user 40 to access media items such asdigital images, digital video files, and the like). For example, andreferring also to FIG. 4, a photo alum user interface (e.g., userinterface 200) may include a plurality of media items, such as flipbookmedia item 202 (e.g., which may be generated 102 flipbook process 10based on, at least in part, photographs 150-160) as well as variousadditional digital images (e.g., digital images 204, 206, 208, 210, 212,214).

In an embodiment, flipbook process 10 may generate 102 a flipbook mediaitem including all of the photographs identified 100 as including acommon characteristic. In some embodiments, flipbook process 10 mayutilize image quality assessment and may generate 102 the flipbook mediaitem including only selected photographs identified as including acommon characteristic and that have an image quality above a thresholdimage quality. An example of quality assessment may include bluranalysis to detect frames or photographs having a reduced contrast(e.g., based on, at least in part, a reduced average gradient magnitude)in a local temporal neighborhood. Another example of quality assessmentmay include exposure analysis, which may detect dark frames (e.g., basedon, at least in part, histogram analysis) in a local temporalneighborhood. Another example of quality assessment may includealignment analysis to identify photographs having relatively small (orno) differences within a local temporal neighborhood. In someembodiments, flipbook process 10 may generate 102 the flipbook mediaitem not including photographs that do not have an image quality abovethe threshold (e.g., photographs having an image quality lower than thethreshold may not be included in the flipbook media item).

Generating 102 the flipbook media item may include associating theplurality of photographs based on one of a time-wise sequence 106 and aspatial alignment sequence 108. For example, the plurality of digitalphotographs included within the flipbook media item may includeassociated metadata, which may include a timestamp indicating a time atwhich each respective digital photograph was taken. Associating 106 theplurality of digital photographs based on, at least in part, a time-wisesequence may include arranging the plurality of digital photographs in achronological order, e.g., by which each successive digital photographin the arrangement may have been taken at a later time than thepreceding digital photograph. For example, in an embodiment in which theplurality of digital photograph may be the result of a photo burst eachof the plurality of digital photographs may have been taken one afteranother in a particular time-wise sequence. Associating 106 theplurality of digital photographs in a time-wise sequence may arrange thedigital photographs in the order in which they were taken. When theplurality of digital photographs are arranged in the time-wise sequencein which they were taken, the flipbook media item so generated 102 byflipbook process 10 may convey time-wise differences between theplurality of photographs.

Generating 102 the flipbook media item may include associating 108 theplurality of photographs based on, at least in part, a spatial alignmentsequence. Associating 108 the plurality of digital photographs based on,at least in part, a spatial alignment sequence may include executingimage processing or analysis across the plurality of digitalphotographs, e.g., to determine a pattern associated with variationsbetween the plurality of digital photographs. Associating 108 theplurality of photographs based on, at least in part, a spatial alignmentsequence may include, for example, arranging the plurality ofphotographs in a sequence by which adjacent photographs in the sequencemay include a minimum transformation relative to one another (e.g., asopposed to a transformation between two non-adjacent photographs in thesequence). For example, and by reference to FIG. 3, digital photographs150-160 may each include subject 162, whose arm positions may vary ineach of digital photograph 150-160 relative to one another. Digitalphotograph 150-160 may also include a background object (164) which maymove (e.g., in a generally left to right direction) between 164 a, 164b, 164 c, 164 d, 164 e, and 164 f in respective photographs 150-160. Inan embodiment, generating the flip book media item including associating108 the plurality of photographs based on, at least in part, a spatialalignment sequence may include arranging the plurality of photographs toestablish a pattern of change (e.g., movement of the arms of subject 162and/or position of background object 164) between the plurality ofdigital photographs, such as generally depicted by the illustratedarrangement of photographs 150-160 in FIG. 3. Determining a minimumtransformation between the plurality of digital photographs and/orassociating 108 the plurality of digital photographs based on a spatialalignment sequence to having a minimum transformation between adjacentphotographs in the sequence may include, for example, providing aminimum difference in arm position of subject 162 between adjacentphotographs in the sequence, minimum relative movement of backgroundobject 164 between adjacent photographs in the sequence, and/or bothminimum difference in arm position and minimum relative movement ofbackground object 164.

Generating 102 the flipbook media item may include associating 110 oneof the plurality of photographs as a representative photograph displayedin a visual indicator of the flipbook media item. As generally describedabove, the flipbook may be based on, at least in part, a commonalitybetween the photographs (e.g., in terms of a common subject, scene,event, or the like) rather than just random group of photographs. Thatis, the flipbook may be predicated on a connection and common aspectbetween the photographs. A representative photograph may be indicativeof the subject matter and/or commonality of the plurality ofphotographs. For example, as shown in FIG. 4, flipbook media item 202may be represented in a user interface (e.g., in photo album userinterface 200, or other user interface) by an image that may beindicative of the subject matter of the flipbook media item. As such, auser accessing user interface 200 may be able to generally discern thecontents of flipbook media item 202 based on the representativephotograph displayed in the visual indicator of flipbook media item 202.The representative photograph may be selected, for example, from thegroup of photographs included within the flipbook media item. Flipbookprocess 10 may automatically associate 110 a representative photographwith flipbook media item 202, for example utilizing a first digitalphotograph included within flipbook media item 202, utilizing aphotograph having a highest relative quality (e.g., based on imageanalysis which may indicate characteristics such as exposure, how lightor dark the image is, how blurry the image is, etc.). Further, in someembodiments, flipbook process 10 may receive 112 a user indication of aphotograph. For example, from a display of the individual photographs tobe included in the flipbook media item, a display that sequentiallypresents the individual photographs of the flipbook media item, or othersuitable display, a user (e.g., user 40) may select (e.g., using apointing device such as a mouse, a touch screen interface, or othersuitable selecting device) a desired representative photograph. Flipbookprocess 10 may receive 112 the user selection of a representativephotograph, and may associating 110 the selected photograph as therepresentative photograph based on the user indication.

As generally described above, the flipbook media item may include acollection of photographs that may be treated as a single media item.The images included within the flipbook media item may be connected toone another based on, at least in part, a (not just physical/data link,but flipbook indicates a commonality between the photographs (e.g., interms of a common subject, scene, event, or the like). In addition toconnecting the plurality of photographs based on, at least in part, thecommonality between the photographs, flipbook process 10 may associate104 one or more interactive control features with the flipbook mediaitem. The one or more interactive control features associated with theflipbook media item may, for example, allow a user to consume theflipbook media item in a manner that may allow the user to view thephotographs included in the flipbook individually and/or in the contextof a sequence of related photographs. As such, flipbook media item 202may allow a user to better appreciate the commonalities and differencesbetween the related photographs of flipbook media item 202. As such, insome instances the navigation control features associated with flipbookmedia item 202 may allow a user to appreciate the full informationcontained within the plurality of photographs as a group as well as inthe context of individual photos.

The one or more interactive control features may include controls forone or more of automatically and manually navigating the plurality ofphotographs included within the flipbook media item. For example, andreferring also to FIG. 5, an example of interactive controls (e.g.,interactive controls 250, generally) may allow a user to manuallynavigate through the photographs included within the flipbook, and/or toautomatically play through the photographs included within the flipbook.It should be noted that flipbook media item 202 is shown in an expandedform (e.g., sized to fill a substantial portion of the display) in userinterface 200 within FIG. 5. However, such a possible configuration isintended for illustrative clarity and, while possible, is not intendedto be a limitation of the present disclosure as interactive controls maybe invoked when flipbook media item 202 is in an expanded form, a fullscreen form, or the original thumbnail form shown in FIG. 4 (as well asvarious other sizing configurations). In an example embodiment, flipbookmedia item 202 may be expanded (e.g., from the thumbnail form depictedin FIG. 4) in response to user 40 selecting thumbnail flipbook mediaitem 202 (e.g., touching the thumbnail flipbook media item 202 displayon a touch screen user interface display of mobile computing device 32,or via other suitable user interface device). Further, in an embodiment,the interactive controls may be an embedded features of the flipbook,e.g., which may be exposed when a user selects the flipbook media item(whether such selection is configured to expand the display of theflipbook media item or not).

As shown in the illustrative embodiment, interactive controls mayinclude automatic navigation control 252. In response to user 40selecting automatic navigation control 252, flipbook process 10 mayautomatically display the sequence of digital photographs include withinflipbook media item 202. For example, flipbook process may sequentiallydisplay each of digital photographs 150-160 for a predetermined timeinterval before displaying the next digital photograph in the sequence.In some embodiments, the time interval for which each digital photographis displayed may be adjusted, e.g., based on system settings and/or userpreferences. As such, flipbook process 10 may navigate through theplurality of digital photographs in a relatively rapid manner, e.g.,which may generally approximate an animation of the sequence ofphotographs. Further, flipbook process 10 may also/alternativelynavigate through the plurality of digital photographs in a relativelyslow manner, e.g., which may allow more extended and/or thoroughexamination of each individual digital photograph 150-160. Interactivecontrols 250 may further include functionality that may allow a user tomanually navigate through digital photographs 150-160 included withinflipbook media item 202. For example, user 40 may manually navigate to anext digital photograph in the sequence of photographs included withinflipbook media item 202 by selecting forward navigation control 254. Ina generally corresponding manner, user 40 may manually navigate to theprevious digital photograph in the sequence of photographs includewithin flipbook media item 202 by selecting backwards navigation control256. Utilizing forward navigation control 254 and backwards navigationcontrol 256 user 40 may manually navigate though digital photographs150-160 included within flipbook media item 202, for example, and alsocontrol the rate (e.g., display interval) for each digital photograph.Further, in an embodiment user 40 may select array navigation control258, e.g., which may result in flipbook process 10 displaying pluralityof digital photographs 150-160 included within flipbook media item 202in an array of separate photos. Consistent with the foregoing, in someembodiments the interactive controls may allow a user to display andnavigate the plurality of photographs in a manner that may not beoverwhelming to the user (e.g., which may result from being confrontedwith multiple photographs that are similar to one another). Further, byretaining all of the photographs within the flipbook media item, thediversity of information represented by the plurality of digitalphotographs may be preserved.

In an embodiment, flipbook process 10 may display the plurality ofdigital photographs (e.g., in response to selection of automatic ormanual navigation controls) including aligning 114 at least a portion ofa first photograph of the plurality of photographs with at least aportion of an adjacent photograph of the plurality of photographs duringnavigation between the first photograph and the adjacent photographwithin the flipbook media item. In an embodiment, aligning 114 at leasta portion of the first photograph with at least a portion of an adjacentphotograph may include image stabilizing 116 the adjacent photographwith respect to the first photograph. For example, in the case of aplurality of digital photographs taken of the same subject, even whenthe subject and/or the photographer remain in the same position for eachof the plurality of photographs very slight, or even more signification,changes in photographic alignment may occurs due to slight changes inangles, positions, camera movement, and the like. Flipbook process 10may image stabilize 116 the digital photographs (and/or a portion of thedigital photographs) included within the flipbook media item withrespect to one another (e.g., during navigation between and/or amongstthe photographs included within the flipbook media item). Imagestabilizing 116 the digital photographs (e.g., utilizing imagestabilization techniques such as may be employed for video imagestabilization, or other image stabilizing techniques) may, in someinstances, make it easier for a user to appreciate the differencesand/or similarities between the various digital photographs includedwithin the flipbook media item. For example, the user's attention maynot be distracted by slight movement of the camera between photographs,and may, for example, allow changed elements between photographs toappear visually more dynamic and more apparent.

Aligning 114 at least a portion of the first photograph with at least aportion of the adjacent photograph may include, for example, stabilizing116 the digital photographs based on a common feature in thephotographs. For example, as shown in FIG. 3, each of digitalphotographs 150-160 may include subject 162 and background object 164.Stabilizing 116 the digital photographs during navigation of theflipbook media item may include aligning an aspect of each photograph,for example, subject 162 or background object 164, relative to theadjacent photographs. As such, for example if flipbook process 10 alignsthe plurality of digital photographs to stabilize subject 162, subject162 may generally appear in the same relative position (e.g., subject162 may remain generally static) within a viewing frame of flipbookmedia item (and/or user interface 200) during navigation of digitalphotographs 150-160 included within flipbook media item 202, whilebackground object may appear in different relative positions. In agenerally corresponding manner, if flipbook process 10 aligns 114photographs 150-160 by stabilizing 116 background object 164 duringnavigation of digital photographs 150-160 included within flipbook mediaitem 202, background object 164 may generally appear in the samerelative position (e.g., may appear generally static) within the viewingframe of flipbook media item 202 (and/or user interface 200), whilesubject 162 may appear to move (e.g., may be located in a differentrelative position). Other embodiments may be equally utilized.

Aligning 114 at least a portion of the first photograph with at least aportion of the adjacent photograph may include cropping 118 one or moreof the first photograph and the second photograph during navigationbetween the first photograph and the adjacent photograph within theflipbook media item. For example, and in a generally similar manner asdescribed above, the various digital photographs may be positioned,cropped, resized, or otherwise arranged within the viewing frame offlipbook media item 202 (and/or user interface 200) such that all commonfeatures between two adjacent photographs (e.g., one photographfollowing the other in sequence) may be aligned or positioned in acommon location on a display. In such a manner, it may be easier for auser to appreciate the differences between the photographs. For example,as the user navigates through the photographs within the flipbook, thebackground, etc., may appear static (even if slightly different camerapositions were utilized) with only the subject changing. In someembodiments, the alignment of adjacent photographs may provide visualcues as to how the photographs relate to one another (e.g., a burst ofphotographs may have been taken to represent a panoramic view or todepict a scene that is larger than a field of view of the camera). Assuch, even though one single aspect of all of the digital photographsmay not appear static, common features between immediately adjacentphotographs may appear in the same location.

In another embodiment, in addition/as an alternative to cropping andaligning adjacent photographs, two adjacent photographs may be animatedto align the photographs in lockstep. For example, a first photographmay be displayed generally centered in the display. A second, adjacent,photograph may be initially displayed such that one or more features ofthe second photograph may be aligned with corresponding features of thefirst photograph, which may result in the second photograph beingdisplayed in an offset position relative to the center of the display(e.g., assuming the features of the second photograph and thecorresponding features of the first photograph are not commonlypositioned in each respective photograph). After initially displayingthe second photograph in an offset position in the display, flipbookprocess 10 may move the second photograph via an animated movement ofthe second photograph, such that at the end of the animated movement thesecond photograph may be generally centered in the display. Further, inan embodiment, the animated movement of the second photograph may beaugmented with fade-in and fade-out effects. For example, the secondphotograph may be initially displayed aligned with the first photograph,with the second photograph being displayed in a fade-in effect while thefirst photograph is displayed with a fade-out effect. The animatedmovement of the second photograph toward the center of the display mayoccur after completion of the fade-in/fade-out effects and/or may occurduring the course of the fade-in/fade-out effects. In some embodiments,the effect implemented by flipbook process 10 for aligning adjacentphotographs (e.g., aligning and cropping, animated movement of thesecond photograph toward the center of the display, etc.) may be basedon, at least in part, the degree of overlap (e.g., common features)between the first photograph and the second photograph. For example,flipbook process 10 may align 114 the first photograph and the secondphotograph using cropping effects if the overlap between the first andsecond photographs is relatively large. Further, flipbook process 10 mayalign 114 the first photograph and the second photograph using ananimated movement of the second photograph toward the center of thedisplay if the overlap between the first photograph and the secondphotograph is relatively small. Other embodiments will be appreciated.

In an embodiment, flipbook process 10 may facilitate sharing the groupof photographs with other users by sharing the flipbook media item,rather than sharing the plurality of digital photographs in the form ofseparate individual pictures. For example, the flipbook media item maybe shared as a single item, and may contain the entire group ofphotographs. In an embodiment, a user (e.g., user 40) may share flipbookmedia item 202 by selecting share control 260 from interactive controls250. Further, in some embodiments, user 40 may share flipbook media item202 as an attachment to an email, instant message, a shared onlinephoto-resources, or other suitable mechanism by which files may beshared amongst users.

A recipient may view as few, or as many, of the group of photographsincluded within the flipbook as the desire (e.g., via the interactivenavigation controls that may be included as an aspect of the flipbookmedia item), without being overwhelmed with a groups of very similarphotographs. In some embodiments, flipbook process 10 may enable therecipient to designate a different representative photograph of theflipbook media item (e.g., as compared to the representative photographassociated with the flipbook media item when the flipbook media item wastransmitted or otherwise shared). In one example, designating adifferent representative photograph of the flipbook may include a changein metadata associated with the flipbook, rather than a substantivechange in the content of the flipbook. The recipient may further share(including back to the originator) the flipbook having the changedrepresentative photograph.

Referring also to FIG. 6, there is shown a diagrammatic view ofcomputing system 12. While computing system 12 is shown in this figure,this is for illustrative purposes only and is not intended to be alimitation of this disclosure, as other configuration are possible. Forexample, any computing device capable of executing, in whole or in part,flipbook process 10 may be substituted for computing device 12 withinFIG. 4, examples of which may include but are not limited to clientelectronic devices 28, 30, 32, 34.

Computing system 12 may include microprocessor 350 configured to e.g.,process data and execute instructions/code for flipbook process 10.Microprocessor 350 may be coupled to storage device 16. As discussedabove, examples of storage device 16 may include but are not limited to:a hard disk drive; a tape drive; an optical drive; a RAID device; an NASdevice, a Storage Area Network, a random access memory (RAM); aread-only memory (ROM); and all forms of flash memory storage devices.IO controller 352 may be configured to couple microprocessor 350 withvarious devices, such as keyboard 354, mouse 356, USB ports (not shown),and printer ports (not shown). Display adaptor 358 may be configured tocouple display 360 (e.g., a CRT or LCD monitor) with microprocessor 350,while network adapter 362 (e.g., an Ethernet adapter) may be configuredto couple microprocessor 350 to network 14 (e.g., the Internet or alocal area network).

As will be appreciated by one skilled in the art, the present disclosuremay be embodied as a method (e.g., executing in whole or in part oncomputing device 12), a system (e.g., computing device 12), or acomputer program product (e.g., encoded within storage device 16).Accordingly, the present disclosure may take the form of an entirelyhardware embodiment, an entirely software embodiment (includingfirmware, resident software, micro-code, etc.) or an embodimentcombining software and hardware aspects that may all generally bereferred to herein as a “circuit,” “module” or “system.” Furthermore,the present disclosure may take the form of a computer program producton a computer-usable storage medium (e.g., storage device 16) havingcomputer-usable program code embodied in the medium.

Any suitable computer usable or computer readable medium (e.g., storagedevice 16) may be utilized. The computer-usable or computer-readablemedium may be, for example but not limited to, an electronic, magnetic,optical, electromagnetic, infrared, or semiconductor system, apparatus,device, or propagation medium. More specific examples (a non-exhaustivelist) of the computer-readable medium may include the following: anelectrical connection having one or more wires, a portable computerdiskette, a hard disk, a random access memory (RAM), a read-only memory(ROM), an erasable programmable read-only memory (EPROM or Flashmemory), an optical fiber, a portable compact disc read-only memory(CD-ROM), an optical storage device, a transmission media such as thosesupporting the Internet or an intranet, or a magnetic storage device.The computer-usable or computer-readable medium may also be paper oranother suitable medium upon which the program is printed, as theprogram can be electronically captured, via, for instance, opticalscanning of the paper or other medium, then compiled, interpreted, orotherwise processed in a suitable manner, if necessary, and then storedin a computer memory. In the context of this document, a computer-usableor computer-readable medium may be any medium that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.The computer-usable medium may include a propagated data signal with thecomputer-usable program code embodied therewith, either in baseband oras part of a carrier wave. The computer usable program code may betransmitted using any appropriate medium, including but not limited tothe Internet, wireline, optical fiber cable, RF, etc.

Computer program code for carrying out operations of the presentdisclosure may be written in an object oriented programming languagesuch as Java, Smalltalk, C++ or the like. However, the computer programcode for carrying out operations of the present disclosure may also bewritten in conventional procedural programming languages, such as the“C” programming language or similar programming languages. The programcode may execute entirely on the user's computer, partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through a local area network/a widearea network/the Internet (e.g., network 14).

The present disclosure is described with reference to flowchartillustrations and/or block diagrams of methods, apparatus (systems) andcomputer program products according to embodiments of the disclosure. Itwill be understood that each block of the flowchart illustrations and/orblock diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, may be implemented by computerprogram instructions. These computer program instructions may beprovided to a processor (e.g., processor 350) of a general purposecomputer/special purpose computer/other programmable data processingapparatus (e.g., computing device 12), such that the instructions, whichexecute via the processor (e.g., processor 350) of the computer or otherprogrammable data processing apparatus, create means for implementingthe functions/acts specified in the flowchart and/or block diagram blockor blocks.

These computer program instructions may also be stored in acomputer-readable memory (e.g., storage device 16) that may direct acomputer (e.g., computing device 12) or other programmable dataprocessing apparatus to function in a particular manner, such that theinstructions stored in the computer-readable memory produce an articleof manufacture including instruction means which implement thefunction/act specified in the flowchart and/or block diagram block orblocks.

The computer program instructions may also be loaded onto a computer(e.g., computing device 12) or other programmable data processingapparatus to cause a series of operational steps to be performed on thecomputer or other programmable apparatus to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide steps for implementingthe functions/acts specified in the flowchart and/or block diagram blockor blocks.

The flowcharts and block diagrams in the figures may illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present disclosure. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustrations,and combinations of blocks in the block diagrams and/or flowchartillustrations, may be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the disclosure.As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present disclosure has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the disclosure in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the disclosure. Theembodiment was chosen and described in order to best explain theprinciples of the disclosure and the practical application, and toenable others of ordinary skill in the art to understand the disclosurefor various embodiments with various modifications as are suited to theparticular use contemplated.

Having thus described the disclosure of the present application indetail and by reference to embodiments thereof, it will be apparent thatmodifications and variations are possible without departing from thescope of the disclosure defined in the appended claims.

What is claimed is:
 1. A computer-implemented method comprising:identifying, on a computing device, a plurality of photographs asincluding a common characteristic; generating, on the computing device,a flipbook media item including the plurality of photographs;associating, on the computing device, a representative photograph with avisual indicator of the flipbook media item; and associating, on thecomputing device, one or more interactive control features with theflipbook media item for manually navigating the plurality ofphotographs.